package com.erp.shop.service;

import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.oldPage.TableDataInfo;
import com.ruoyi.shop.api.domain.ErpSellerStoreFreightTemplate;
import com.ruoyi.shop.api.domain.bo.ErpSellerStoreFreightTemplateBo;
import com.ruoyi.shop.api.domain.vo.ErpSellerStoreFreightTemplateVo;

import java.util.Collection;
import java.util.List;

/**
 * 店铺运费模板Service接口
 *
 * @author erp
 * @date 2023-03-29
 */
public interface IErpSellerStoreFreightTemplateService {

    /**
     * 查询店铺运费模板
     */
    ErpSellerStoreFreightTemplateVo queryById(Long id);

    /**
     * 查询店铺运费模板列表
     */
    TableDataInfo<ErpSellerStoreFreightTemplateVo> queryPageList(ErpSellerStoreFreightTemplateBo bo, PageQuery pageQuery);

    /**
     * 查询店铺运费模板列表
     */
    List<ErpSellerStoreFreightTemplateVo> queryList(ErpSellerStoreFreightTemplateBo bo);

    /**
     * 新增店铺运费模板
     */
    Boolean insertByBo(ErpSellerStoreFreightTemplateBo bo);

    /**
     * 修改店铺运费模板
     */
    Boolean updateByBo(ErpSellerStoreFreightTemplateBo bo);

    /**
     * 校验并批量删除店铺运费模板信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    Boolean addSellerTemplateList(List<ErpSellerStoreFreightTemplate> templateList, Long sellerId);

    Integer deleteFreightTemplateBySellerId(Long sellerId);

    R<Object> getFreightTemplateOneByStoreIdAndName(Long storeId, String mbName);

    R<Object> getFreightTemplateLogisticsCompany(Long templateId, String storeId);

    R<Object> getSellerStoreFreightTemplate(Long storeId);
}
